package br.edu.dpaw.locavirtus;

import java.util.Date;

public class Periodo {
	private Date dataInicio;
	private Date dataFim;
	private int horaInicio;
	private int horaFim;
	public Date getDataInicio() {
		return dataInicio;
	}
	public void setDataInicio(Date dataInicio) {
		this.dataInicio = dataInicio;
	}
	public Date getDataFim() {
		return dataFim;
	}
	public void setDataFim(Date dataFim) {
		this.dataFim = dataFim;
	}
	public int getHoraInicio() {
		return horaInicio;
	}
	public void setHoraInicio(int horaInicio) {
		this.horaInicio = horaInicio;
	}
	public int getHoraFim() {
		return horaFim;
	}
	public void setHoraFim(int horaFim) {
		this.horaFim = horaFim;
	}
	public long diferencaDias() {
		long diff = dataFim.getTime()-dataInicio.getTime();
		long dias = diff/1000/60/60/24;
		return dias;
	}
	public long diferencaHoras() {
		long difHoras = getHoraFim()-getHoraInicio();
		if (difHoras < 0) {
			difHoras = 24 + difHoras;
		}
		return difHoras;
	}
	
	public Periodo(Date dtIni, Date dtFim, int hrIni, int hrFim) {
		if (dtFim.before(dtIni) || dtFim.equals(dtIni)) {
			throw new RuntimeException(); 
		}
		setDataInicio(dtIni);
		setDataFim(dtFim);
		setHoraInicio(hrIni);
		setHoraFim(hrFim);
	}
}
